<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Solicitud
 *
 * @author piero
 */
class Solicitud extends AppModel {

    public $name = 'Solicitud';
    public $useTable = 'solicitudes'; // This model uses a database table 'exmp'
    public $belongsTo = array(
        'Empleado' => array(
            'className' => 'Empleado',
            'foreignKey' => 'empleado_id'
        ),
        'Documento' => array(
            'className' => 'Documento',
            'foreignKey' => 'documento_id'
        )
    );

    public function agregar($tipo, $estado, $justificacion, $documentoId, $empleadoId) {
        $solicitud['Solicitud']['tipo'] = $tipo;
        $solicitud['Solicitud']['estado'] = $estado;
        $solicitud['Solicitud']['documento_id'] = $documentoId;
        $solicitud['Solicitud']['empleado_id'] = $empleadoId;
        $solicitud['Solicitud']['justificacion'] = $justificacion;
        $this->save($solicitud);
    }

    public function aprobar($solicitudId) {
        $this->id = $solicitudId;
        $estado = null;

        if ($this->field('tipo') == SOLICITUD_TIPO_MODIFICACION &&
                $this->field('estado') == SOLICITUD_ESTADO_PENDIENTE) {
            $estado = SOLICITUD_ESTADO_MODIFICANDO;
        } else if ($this->field('tipo') == SOLICITUD_TIPO_MODIFICACION &&
                $this->field('estado') == SOLICITUD_ESTADO_MODIFICANDO) {
            $estado = SOLICITUD_ESTADO_APROBADO;
        } else if ($this->field('tipo') == SOLICITUD_TIPO_MODIFICACION &&
                $this->field('estado') == SOLICITUD_ESTADO_MODIFICACION_COMPLETA) {
            $estado = SOLICITUD_ESTADO_APROBADO;
        }
        else  {
            $estado = SOLICITUD_ESTADO_APROBADO;
        }

        $this->saveField('estado', $estado);
    }

    public function rechazar($solicitudId) {
        $this->id = $solicitudId;
        $estado = SOLICITUD_ESTADO_RECHAZADO;
        $this->saveField('estado', $estado);
    }

    public function actualizar($solicitudId) {
        $this->id = $solicitudId;
         $estado = SOLICITUD_ESTADO_PENDIENTE;

        $this->saveField('estado', $estado);
    }

    public function actualizarEstado($solicitudId, $estado) {
        $this->id = $solicitudId;
        $this->saveField('estado', $estado);
    }

}

?>
